home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Developer Essentials / MPW Interfaces & Libraries / AIncludes / FSEqu.a < prev    next >
Encoding:
Text File  |  1992-01-29  |  17.9 KB  |  449 lines  |  [TEXT/MPS ]

  1. ; Version: 2.95
  2. ; Created: Friday, October 20, 1989 at 9:16:12 PM
  3. ;
  4. ; File: FSEqu.a
  5. ;
  6. ; Assembler Interface to the Macintosh Libraries
  7. ; Copyright Apple Computer, Inc. 1984-1991
  8. ; All Rights Reserved
  9. ;
  10. ;--------------------------------------------------------------------
  11.  
  12.     IF &TYPE('__IncludingFSEqu__') = 'UNDEFINED' THEN
  13. __IncludingFSEqu__    SET    1
  14.  
  15. SigWord           EQU         $D2D7                     ; signature bytes (MFS volume)
  16. TSigWord          EQU         $4244                     ; signature bytes (HFS volume)
  17. HFSBit            EQU         9                         ; defines HFS bit in trap word
  18. ;_______________________________________________________________________
  19. ; fixed location labels: (equivalent of zero page)
  20. FSFCBLen          EQU         $3F6                      ; HFS present flag / FCB size (-1 in old ROM)
  21. WDRfnMin          EQU         -32767                    ; Lowest assigned WD RefNum
  22. WDRfnMax          EQU         -4096                     ; largest possible WDrefnum
  23. HFSTagData        EQU         $38A                      ; Room for additional HFS tag data
  24. FCBSPtr           EQU         $34E                      ; ptr to FCBs
  25. DefVCBPtr         EQU         $352                      ; pointer to default VCB
  26. VCBQHdr           EQU         $356                      ; VCB queue header
  27. FSQHdr            EQU         $360                      ; file system queue header (10 bytes)
  28. FSBusy            EQU         $360                      ; non-zero when the file system is busy
  29. FSQHead           EQU         $362                      ; ptr to 1st queued cmd: 0 when queue empty
  30. FSQTail           EQU         $366                      ; ptr to last queue element
  31.  
  32.  
  33. ;bit positions for ioSpecBits values for CatSearch                    <dnf 1.3>
  34.  
  35. fsSBPartialName    EQU        0                    ; ioFileName points to a substring
  36. fsSBFullName    EQU        1                    ; ioFileName points to a match string
  37. fsSBFlAttrib    EQU        2                    ; search includes file attributes
  38. fsSBFlFndrInfo    EQU        3                    ; search includes finder info
  39. fsSBFlLgLen        EQU        5                    ; search includes data logical length
  40. fsSBFlPyLen        EQU        6                    ; search includes data physical length
  41. fsSBFlRLgLen    EQU        7                    ; search includes resource logical length
  42. fsSBFlRPyLen    EQU        8                    ; search includes resource physical length
  43. fsSBFlCrDat        EQU        9                    ; search includes create date
  44. fsSBFlMdDat        EQU        10                    ; search includes modification date
  45. fsSBFlBkDat        EQU        11                    ; search includes backup date
  46. fsSBFlXFndrInfo    EQU        12                    ; search includes extended finder info
  47. fsSBFlParID        EQU        13                    ; search includes file's parent ID
  48. fsSBNegate        EQU        14                    ; return all non-matches
  49. fsSBDrUsrWds    EQU        fsSBFlFndrInfo        ; search includes directory finder info
  50. fsSBDrNmFls        EQU        4                    ; search includes directory valence
  51. fsSBDrCrDat        EQU        fsSBFlCrDat            ; directory-named version of fsSBFlCrDat
  52. fsSBDrMdDat        EQU        fsSBFlMdDat            ; directory-named version of fsSBFlMdDat
  53. fsSBDrBkDat        EQU        fsSBFlBkDat            ; directory-named version of fsSBFlBkDat
  54. fsSBDrFndrInfo    EQU        fsSBFlXFndrInfo        ; directory-named version of fsSBFlXFndrInfo
  55. fsSBDrParID        EQU        fsSBFlParID            ; directory-named version of fsSBFlParID
  56.  
  57. ;layout of the GetVolParms buffer and vMAttrib bit values            <dnf 1.3>
  58. vMVersion    EQU        0
  59. vMAttrib    EQU        2
  60. vMLocalHand        EQU        6
  61. vMServerAdr        EQU        10
  62. vMVolumeGrade    EQU        14
  63. vMForeignPrivID    EQU        18
  64.  
  65. bLimitFCBs            EQU            31
  66. bLocalWList            EQU            30
  67. bNoMiniFndr            EQU            29
  68. bNoVNEdit            EQU            28
  69. bNoLclSync            EQU            27
  70. bTrshOffLine        EQU            26
  71. bNoSwitchTo            EQU            25
  72. bNoDeskItems        EQU            20
  73. bNoBootBlks            EQU            19
  74. bAccessCntl            EQU            18
  75. bNoSysDir            EQU            17
  76. bHasExtFSVol        EQU            16
  77. bHasOpenDeny        EQU            15
  78. bHasCopyFile        EQU            14
  79. bHasMoveRename        EQU            13
  80. bHasDesktopMgr        EQU            12            
  81. bHasShortName        EQU         11
  82. bHasFolderLock        EQU            10
  83. bHasPersonalAccessPrivileges    EQU    9
  84. bHasUserGroupList    EQU        8
  85. bHasCatSearch        EQU        7
  86. bHasFileIDs            EQU        6
  87. bHasBtreeMgr        EQU        5
  88. bHasBlankAccessPrivileges        EQU        4
  89.  
  90. ; Foreign Privilege Model Identifiers
  91.  
  92. fsUnixPriv                        EQU        1
  93.  
  94. ; Authentication Constants
  95.  
  96. kNoUserAuthentication             EQU        1
  97. kPassword                        EQU        2
  98. kEncryptPassword                EQU        3
  99. kTwoWayEncryptPassword            EQU        6
  100.  
  101. ; Version Release Stage Codes
  102.  
  103. developStage                    EQU        $20
  104. alphaStage                        EQU        $40
  105. betaStage                        EQU        $60
  106. finalStage                        EQU        $80
  107.  
  108. ; FSSpec record
  109.  
  110. FSSpec            RECORD    0, INCREMENT
  111. vRefNum            ds.w    1
  112. parID            ds.l    1
  113. name            ds.b    64
  114. size            EQU        *-FSSpec
  115.                 ENDR
  116.  
  117. ;;;
  118. ;;;    HParamBlockRec Record Common
  119. ;;;
  120. HParamBlockRec    RECORD        0
  121. qLink            DS.L        1
  122. qType            DS.W        1
  123. ioTrap            DS.W        1
  124. ioCmdAddr        DS.L        1
  125. ioCompletion    DS.L        1
  126. ioResult        DS.W        1
  127. ioNamePtr        DS.L        1
  128. ioVRefNum        DS.W        1
  129.                 ENDR
  130.  
  131. ;;;
  132. ;;; HParamBlockRec.fileParam Record
  133. ;;;
  134. HFileParam        RECORD        24
  135. ioFRefNum        DS.W        1
  136. ioFVersNum        DS.B        1
  137. filler1         DS.B        1
  138. ioFDirIndex     DS.W        1
  139. ioFlAttrib        DS.B        1
  140. ioFlVersNum     DS.B        1
  141. ioFlFndrInfo    DS.L        4
  142. ioDirID         DS.L        1
  143. ioFlStBlk        DS.W        1
  144. ioFlLgLen        DS.L        1
  145. ioFlPyLen        DS.L        1
  146. ioFlRStBlk        DS.W        1
  147. ioFlRLgLen        DS.L        1
  148. ioFlRPyLen        DS.L        1
  149. ioFlCrDat        DS.L        1
  150. ioFlMdDat        DS.L        1
  151. HFileParamSize    EQU         *
  152.                 ENDR
  153.  
  154. ;;;
  155. ;;;    HParamBlockRec.volumeParam Record
  156. ;;;
  157. HVolumeParam    RECORD    24
  158. filler2            DS.L    1
  159. ioVolIndex        DS.W    1
  160. ioVCrDate        DS.L    1
  161. ioVLsMod        DS.L    1
  162. ioVAtrb            DS.W    1
  163. ioVNmFls        DS.W    1
  164. ioVBitMap        DS.W    1
  165. ioAllocPtr        DS.W    1
  166. ioVNmAlBlks        DS.W    1
  167. ioVAlBlkSiz        DS.L    1
  168. ioVClpSiz        DS.L    1
  169. ioAlBlSt        DS.W    1
  170. ioVNxtCNID        DS.L    1
  171. ioVFrBlk        DS.W    1
  172. ioVSigWord        DS.W    1
  173. ioVDrvInfo        DS.W    1
  174. ioVDRefNum        DS.W    1
  175. ioVFSID            DS.W    1
  176. ioVBkUp            DS.L    1
  177. ioVSeqNum        DS.W    1
  178. ioVWrCnt        DS.L    1
  179. ioVFilCnt        DS.L    1
  180. ioVDirCnt        DS.L    1
  181. ioVFndrInfo        DS.L    8
  182. HVolumeParamSize    EQU        *
  183.                 ENDR
  184.  
  185. ;
  186. ; The VolumeMount trap equates
  187. ;
  188. ; The ioBuffer field should point to a structure that looks like the
  189. ; record AFPVolMountBlock, below. Note that the header is actually a series
  190. ; of offsets into a block that is different for each extfs.
  191. ;
  192. ; First you make a _GetVolMountInfoSize call on an existing volume, then allocate 
  193. ; a buffer of the size that it requests, the _GetVolMountInfo, then later
  194. ; you pass the buffer modified by _GetVolMountInfo back and it mounts the volume.
  195. ;
  196. AFPVolMountInfo    RECORD    0, INCREMENT
  197. length                ds.w    1
  198. media                ds.l    1
  199. flags                ds.w    1
  200. nbpInterval            ds.b    1
  201. nbpCount            ds.b    1
  202. uamType                ds.w    1
  203. ZoneOffset            ds.w    1
  204. serverNameOffset    ds.w    1
  205. volNameOffset        ds.w    1
  206. UserNameOffset        ds.w    1
  207. UserPaswdOffset        ds.w    1
  208. VolPaswdOffset        ds.w    1
  209. size                EQU        *-AFPVolMountInfo
  210.         ENDR
  211.  
  212. AFPVolMountBlock    RECORD    0, INCREMENT
  213. header                ds.b    AFPVolMountInfo.size
  214. zoneName            ds.b    33
  215. serverName            ds.b    32
  216. volName                ds.b    28
  217. userName            ds.b    32
  218. userPassword        ds.b    9
  219. volPassword            ds.b    9
  220. size                EQU        *-AFPVolMountBlock
  221.         ENDR
  222.  
  223.  
  224. ;
  225. ; Volume Control Block equates: (prefix: VCB)
  226. ;
  227. vcbFlags          EQU         6                         ; flags word is first word after header
  228. vcbDirty          EQU         15                        ; flags dirty bit (tst.w tests,clr.b clears)
  229. ; first 64/104 bytes of VCB come directly from the directory master block
  230. vcbDInfoSt        EQU         8                         ; leave room for 6-byte queue header
  231. vcbDILen          EQU         64                        ; len of VCB data from master directory (from old FSEQU)
  232. vcbSigWord        EQU         8                         ; signature word
  233. vcbCrDate         EQU         10                        ; Creation date.
  234. vcbLsBkUp         EQU         14                        ; last backup date
  235. vcbLsMod          EQU         14                        ; alternate name for above
  236. vcbAtrb           EQU         18                        ; volume attributes. bit 15 = vol lock (1=locked)
  237. ; bit 7 = wr protect
  238. ; bit 6 = busy (1=busy)
  239. ; bit 5 = volume consistent if set
  240. ; (set for default on GetVolInfo)
  241. ; bits 0-4 = consistency prob
  242. ; 0: max CNID > VCBNxtCNID
  243. ; 1: file count error
  244. ; 2: file length error
  245. ; 3: catalog B*-tree loop
  246. ; 4: extent B*-tree loop
  247. vcbAtVOK          EQU         8                         ; attrib consistent volume flag (set on clean _Unmount)
  248. ; (bit 8 in word, bit 0 in top byte)
  249. vcbAtBB            EQU            9                        ; bad blocks have been spared in this volume (bit 1 of top byte)
  250. vcbWrProt         EQU         7                         ; attrib write-protected bit (tst.b ATRB+1 tests)
  251. vcbNmFls          EQU         20                        ; number files in MFS dir 
  252. ; number files in HFS root dir
  253. vcbDirSt          EQU         22                        ; start dir (512-byte) block on diskette (MFS)
  254. vcbVBMSt          EQU         22                        ; same as VCBDirSt, starting block of allocation map (HFS) (overlaps)
  255. vcbBlLn           EQU         24                        ; length of dir in (512-byte) blocks (MFS)
  256. vcbAllocPtr       EQU         24                        ; same as VCBBlLn, Starting block for new file allocations
  257. vcbNmBlks         EQU         26                        ; number of blocks (of alloc size) this device
  258. vcbNmAlBlks       EQU         26                        ; (alternate label for a while)
  259. vcbAlBlkSiz       EQU         28                        ; num of bytes in an allocation block
  260. vcbClpSiz         EQU         32                        ; num of bytes to try to alloc as a clump
  261. vcbAlBlSt         EQU         36                        ; starting diskette (512-byte) block in block map
  262. vcbNxtCNID        EQU         38                        ; next free CNode identifier (HFS)
  263. vcbNxtFNum        EQU         38                        ; next free file number (MFS)
  264. vcbFreeBks        EQU         42                        ; number of free blocks on this volume
  265. vcbVN             EQU         44                        ; volume name (including name length byte)
  266. vcbMaxNam         EQU         27                        ; 27 byte max name length
  267. IOVDirLen         EQU         vcbVN-vcbCrDate           ; Length of info to copy by GetVolInfo
  268. ;
  269. ; next 6 fields should be kept together
  270. ;
  271. vcbDrvNum         EQU         72                        ; drive number for this VCB
  272. vcbDRefNum        EQU         74                        ; driver refnum for this VCB
  273. vcbFSID           EQU         76                        ; ID of file system handling this volume
  274. vcbVRefNum        EQU         78                        ; unique refnum for this VCB
  275. vcbMAdr           EQU         80                        ; volume map address (FS volume)
  276. vcbBufAdr         EQU         84                        ; volume buffer address
  277. vcbMLen           EQU         88                        ; length of volume map (FS volume)
  278. vcbDirIndex       EQU         90                        ; directory index, block number used for
  279. vcbDirBlk         EQU         92                        ; GetFileInfo searches by index
  280. MFSVCBLen         EQU         94                        ; Length of MFS VCB
  281. ;
  282. ; Volume Control Block (VCB) extensions for HFS copied from Volume Info Block:
  283. ;
  284. vcbTDInfoSt       EQU         94                        ; Start of additional HFS info:
  285. vcbVolBkUp        EQU         94                        ; Date volume was last backed up
  286. vcbVSeqNum        EQU         98                        ; Index of volume in backup set
  287. vcbWrCnt          EQU         100                       ; Volume write count
  288. vcbXTClpSiz       EQU         104                       ; Extent B*-Tree clump size
  289. vcbCTClpSiz       EQU         108                       ; Catalog B*-Tree clump size
  290. vcbNmRtDirs       EQU         112                       ; Number of directories in root
  291. vcbFilCnt         EQU         114                       ; Total number of files in volume
  292. vcbDirCnt         EQU         118                       ; Total number of directories in volume
  293. vcbFndrInfo       EQU         122                       ; Finder info for volume
  294. vcbVCSize         EQU         154                       ; Volume cache size in blocks
  295. vcbVBMCSiz        EQU         156                       ; Bitmap cache size in blocks
  296. vcbCtlCSiz        EQU         158                       ; Extent and Catalog B*-Tree cache size (blocks)
  297. ;
  298. ; additional VCB information NOT copied from the MDB:
  299. ;
  300. vcbXTAlBks        EQU         160                       ; Size of extent B*-Tree in allocation blocks
  301. vcbCTAlBks        EQU         162                       ; Size of catalog B*-Tree in allocation blocks
  302. vcbXTRef          EQU         164                       ; File RefNum for Extent B*-Tree 
  303. vcbCTRef          EQU         166                       ; File RefNum for Catalog B*-Tree
  304. vcbCtlBuf         EQU         168                       ; Pointer to extent desc. and catalog caches
  305. vcbDirIDM         EQU         172                       ; Directory last searched: 0 if invalid.
  306. vcbOffsM          EQU         176                       ; Offspring index at last search
  307. vcbLength         EQU         178                       ; VCB byte length
  308. ; File Control Block equates: (prefix: FCB)
  309. fcbModBit         EQU         7                         ; dirty bit for FCB entry in FCBMdRByt
  310. fcbOwnClp         EQU         6                         ; Clump-size specified flag (for truncate on close)
  311. fcbFilLck         EQU         5                         ; 1 if file is locked [write-protected] 
  312. fcbShrWrt         EQU         4                         ; 1 if file is open for shared write access 
  313. fcbWrtLck         EQU         2                         ; 1 if fork is reserved for write (byte range lock)
  314. fcbRscBit         EQU         1                         ; 1 if this is resource part (in FCBMdRByt)
  315. fcbWrtBit         EQU         0                         ; write permissions bit in FCBTypByt (1 if ok)
  316. fcbFlgMBit        EQU         15                        ; dirty bit in FCBFlags (word)
  317. fcbFlgCBit        EQU         14                        ; clump-size spec'd bit in FCBFlags (word)
  318. fcbFlgPBit        EQU         13                        ; Write-protected [file lock] bit in FCBFlags (word)
  319. fcbFlgSBit        EQU         12                        ; Shared-write bit in FCBFlags (word) 
  320. fcbFlgLBit        EQU         10                        ; Byte range locked bit in FCBFlags (word)
  321. fcbFlgRBit        EQU         9                         ; resource bit in FCBFlags (word)
  322. fcbFlgWBit        EQU         8                         ; write permissions bit in FCBFlags (word)
  323. WrRsMask          EQU         $0300                     ; rsrc/reg, write permissions mask
  324. PermMask          EQU         $1300                     ; all bits related to access arbitration 
  325. fcbFlNm           EQU         0                         ; FCB file number. Non-zero marks FCB used.
  326. fcbFlags          EQU         4                         ; FCB flags
  327. fcbMdRByt         EQU         4                         ; mod, write permissions, resource byte
  328. fcbTypByt         EQU         5                         ; type byte
  329. fcbSBlk           EQU         6                         ; File start block (in alloc size blks)
  330. fcbEOF            EQU         8                         ; logical length or EOF in bytes
  331. fcbPLen           EQU         12                        ; Physical file length in bytes
  332. fcbCrPs           EQU         16                        ; current position within file.
  333. ioFIStILen        EQU         20                        ; Length to straight copy from FCB on _GetFCBInfo
  334. fcbVPtr           EQU         20                        ; Absolute pointer to the corresponding VCB
  335. fcbBfAdr          EQU         24                        ; file's buffer address.
  336. fcbFlPos          EQU         28                        ; directory block this file is in
  337. MFSFCBLen         EQU         30                        ; Length of MFS FCB structure
  338. ;
  339. ; FCB Extensions for HFS:
  340. ;
  341. fcbClmpSize       EQU         30                        ; Number of bytes per clump
  342. fcbBTCBPtr        EQU         34                        ; pointer to B*-Tree control block for this file
  343. fcbExtRec         EQU         38                        ; First 3 file extents
  344. fcbFType          EQU         50                        ; file's 4 Finder Type bytes
  345. fcbCatPos         EQU         54                        ; Catalog hint for use on Close
  346. fcbDirID          EQU         58                        ; Parent Directory ID
  347. fcbCName          EQU         62                        ; CName of open file
  348. fcbEntLen         EQU         94                        ; Length of each element in the FCB array
  349. ;_______________________________________________________________________
  350. ;
  351. ; Directory master block entries: (Prefix Dr)
  352. ;
  353. drSigWord         EQU         0                         ; signature word
  354. drCrDate          EQU         2                         ; Creation date.
  355. drLsMod           EQU         6                         ; last backup date
  356. drAtrb            EQU         10                        ; volume attributes. bit 15=write(locked=1)
  357. drNmFls           EQU         12                        ; number files in directory
  358. drDirSt           EQU         14                        ; start dir (512-byte) block on diskette
  359. drVBMSt           EQU         14                        ; starting sector of allocation map (overlaps)
  360. drBlLn            EQU         16                        ; length of dir in (512-byte) blocks
  361. drAllocPtr        EQU         16                        ; Start of next allocation search
  362. drNmAlBlks        EQU         18                        ; number of blocks (of alloc size) this volume
  363. drAlBlkSiz        EQU         20                        ; min num of bytes to allocate (must be 512 mult)
  364. drClpSiz          EQU         24                        ; num of bytes to try to alloc as a clump
  365. drAlBlSt          EQU         28                        ; starting diskette (512-byte) block in block map
  366. drNxtCNID         EQU         30                        ; Next CNode identifier
  367. drNxtFNum         EQU         30                        ; next free file number
  368. drFreeBks         EQU         34                        ; number of free blocks on this volume
  369. drVN              EQU         36                        ; volume name (including name length)
  370. MpTblStr          EQU         64                        ; byte start position of map table within
  371. ; master dir block (MFS volume)
  372. ;
  373. ; Master Directory Block extensions for HFS:
  374. ;
  375. drTInfoSt         EQU         64
  376. drVolBkup         EQU         64                        ; Date of last volume backup (overlaps)
  377. drVSeqNum         EQU         68                        ; Sequence number of volume within backup set
  378. drWrCnt           EQU         70                        ; Volume write count
  379. drXTClpSiz        EQU         74                        ; Extent B*-Tree clump size
  380. drCTClpSiz        EQU         78                        ; Catalog B*-Tree clump size
  381. drNmRtDirs        EQU         82                        ; Number of subdirectories in the root
  382. drFilCnt          EQU         84                        ; Total number of files in volume
  383. drDirCnt          EQU         88                        ; Total number of directories in volume
  384. drFndrInfo        EQU         92                        ; Finder info for volume
  385. drVCSize          EQU         124                       ; Volume cache size
  386. drVBMCSize        EQU         126                       ; Volume Bitmap cache size
  387. drCtlCSize        EQU         128                       ; Size of common volume cache
  388. ;
  389. ; length of additional VCB data from master directory block for HFS volumes:
  390. ;
  391. vcbTDILen         EQU         130-drTInfoSt
  392. ;
  393. ; Information not copied into VCB:
  394. ;
  395. drXTFlSize        EQU         130                       ; Length of extent B*-Tree (LEOF and PEOF)
  396. drXTExtRec        EQU         134                       ; First (and only) extent-tree extent record
  397. drCTFlSize        EQU         146                       ; Length of catalog B*-Tree (LEOF and PEOF)
  398. drCTExtRec        EQU         150                       ; First catalog extent record
  399. LenMDB            EQU         162                       ; length of full MDB
  400. drUsrInfo         EQU         256                       ; User information for volume
  401. ;_______________________________________________________________________
  402. ;
  403. ; File Entry equates: (prefix: Fl)
  404. ; (delete indication may be needed; for now just check VCB del fnum . . .)
  405. flWrtFlag         EQU         0                         ; write-allowed bit in flags byte (0 if allowed)
  406. flTypMask         EQU         $FE                       ; (user file-type in bits 1-7)
  407. flFlags           EQU         0                         ; bit 7=1 (used), bit 0=file lock flag
  408. flTyp             EQU         1                         ; file type (used as a name extension)
  409. flUsrWds          EQU         2                         ; user words for file. (16 bytes)
  410. flFlNum           EQU         18                        ; file number
  411. flStBlk           EQU         22                        ; Start file block (alloc blk size)(0000 if none)
  412. flLgLen           EQU         24                        ; File logical length in bytes (EOF)
  413. flPyLen           EQU         28                        ; File physical length in bytes
  414. flRStBlk          EQU         32                        ; Start file block, resource fork (0000 if none)
  415. flRLgLen          EQU         34                        ; File logical length (EOF), resource fork
  416. flRPyLen          EQU         38                        ; File physical length, resource fork
  417. flCrDat           EQU         42                        ; File creation date & time (32 bits in seconds)
  418. flMdDat           EQU         46                        ; last modification date & time (32 bits in seconds)
  419. flNam             EQU         50                        ; file name, starting with length byte
  420. flNTLen           EQU         50                        ; length of each file entry, excluding name
  421. ;_______________________________________________________________________
  422. ;
  423. ; Working Directory Control Block equates: (prefix: WD)
  424. ;
  425. WDVCBPtr          EQU         0                         ; pointer to VCB of residing WD (longint)
  426. WDDirID           EQU         4                         ; WD directory Identification (longint)
  427. WDCatHint         EQU         8                         ; Catalog node hint
  428. WDProcID          EQU         12                        ; process that created WD
  429. WDCBLen           EQU         16                        ; Length of a WDCB
  430. ;_______________________________________________________________________
  431. ;
  432. ; Poor Man's Search Path equates: (prefix: SP)
  433. ;
  434. PMSPHook          EQU         -6                        ; Hook for PMSP modification
  435. PMSPIndx          EQU         -2                        ; Index to PMSP index from start of PMSP
  436. SPHdrSize         EQU         6                         ; Size of negative-offset header
  437. SPVRefNum         EQU         0                         ; Offset to VRefNum in PMSP entry
  438. SPDirID           EQU         2                         ; Offset to Directory ID in PMSP entry
  439. SPEntLen          EQU         6                         ; Length of a PMSP entry
  440. MaxDVCnt          EQU         8                         ; Leave room for 8 default VRefNums
  441. PMSPSize          EQU         MaxDVCnt*SPEntLen+SPHdrSize+2 
  442.                                                         ; Size of PMSP table +header + index word
  443. ; 31744 = $7C00, a nice round number close to
  444. ; (32767*1000)/1024, which is about the largest 
  445. ; free space unsuspecting, decimal-K minded apps
  446. ; might be expected to handle. 
  447. AlBlkLim          EQU         31744
  448.  
  449.     ENDIF    ; ...already included